# 上下文管理器
def func:
    with open('E:/我的学习日志2024版/12-5/test.txt','r') as f:
        #假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        if(cond):
            return
        # 假设这里有很多代码
        # 上下文管理器起到的效果就是 当with对应的代码块结束的时候，就会自动执行f的close
        # 如果不用上下文管理器，中间的代码return就很可能忘记关闭文件，因为关闭文件的行在后面
        # 这样的机制在很多语言都有
        # C++智能指针，java的try with resources